import { _wx_config } from "@/utils";
import { REDIRECT_COVER, REDIRECT_DESC, REDIRECT_TITLE } from "@/config";

export const WECHAT = {
  config: async (url) => {
    return
    const {timestamp, nonceStr, signature, appId} = await _wx_config(url) || {};

    await wx.config({
      debug: false,
      appId: appId, // 必填，公众号的唯一标识
      timestamp, // 必填，生成签名的时间戳
      nonceStr, // 必填，生成签名的随机串
      signature,// 必填，签名
      jsApiList: [`getLocation`, `updateAppMessageShareData`, `updateTimelineShareData`] // 必填，需要使用的JS接口列表
    });

    wx.ready(function () {
      // 分享给朋友
      wx.updateAppMessageShareData({
        title: REDIRECT_TITLE,
        desc: REDIRECT_DESC,
        link: decodeURIComponent(url),
        imgUrl: REDIRECT_COVER,
        success: function () {
          console.log(`success`);
          // 用户确认分享后执行的回调函数
        },
        cancel: function () {
          console.log(`cancel`);
          // 用户取消分享后执行的回调函数
        }
      });

      wx.updateTimelineShareData({
        title: REDIRECT_TITLE, // 分享标题
        link: decodeURIComponent(url),
        imgUrl: REDIRECT_COVER,
        success: function () {
          console.log(`success`);
          // 用户确认分享后执行的回调函数
        },
        cancel: function () {
          console.log(`cancel`);
          // 用户取消分享后执行的回调函数
        }
      });
    });
    wx.error(function (err) {
      console.log(`err`, err);
      // config信息验证失败会执行error函数，如签名过期导致验证失败，具体错误信息可以打开config的debug模式查看，也可以在返回的res参数中查看，对于SPA可以在这里更新签名。
    });
  },
  getLocation: async () => {
    console.log(222)
    return new Promise((resolve, reject) => {
      console.log(333, wx)

      wx?.getLocation({
        type: 'wgs84',
        success: res => {
          console.log(`getLocation success`, res)
          alert(JSON.stringify(res))
          resolve(res)
        },
        fail: err => {
          console.log(`fail`, err)
          reject(err)
          alert(JSON.stringify(err))
        },
        complete: () => {
          console.log(`getLocation complete`)
          resolve(null)
        }
      })
    })
  }
}